package cn.brilliantfuture.commentry.entity;

// Generated 2011-11-3 13:34:34 by Hibernate Tools 3.3.0.GA

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;

/**
 * RefundOrderInfo generated by hbm2java
 */
@Entity
@Table(name = "refund_order_info", catalog = "cabinet")
public class RefundOrderInfo implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Integer refundOrderInfoId;
	private OrderInformation orderInformation;
	private Lockers lockers;
	private UserGroup userGroup;
	private DeliveryPerson deliveryPerson;
	private Date deliveryTime;
	private Date pickTime;
	private Integer transactions;
	private boolean deleted;
	private String orderInfoNumber;
	private Date estimatedPickTime;

	public RefundOrderInfo() {
	}

	public RefundOrderInfo(Lockers lockers, UserGroup userGroup,
			Date deliveryTime, Integer transactions, String orderInfoNumber) {
		this.lockers = lockers;
		this.userGroup = userGroup;
		this.deliveryTime = deliveryTime;
		this.transactions = transactions;
		this.orderInfoNumber = orderInfoNumber;
	}

	public RefundOrderInfo(OrderInformation orderInformation, Lockers lockers,
			UserGroup userGroup, DeliveryPerson deliveryPerson,
			Date deliveryTime, Date pickTime, Integer transactions, boolean deleted,
			String orderInfoNumber, Date estimatedPickTime) {
		this.orderInformation = orderInformation;
		this.lockers = lockers;
		this.userGroup = userGroup;
		this.deliveryPerson = deliveryPerson;
		this.deliveryTime = deliveryTime;
		this.pickTime = pickTime;
		this.transactions = transactions;
		this.deleted = deleted;
		this.orderInfoNumber = orderInfoNumber;
		this.estimatedPickTime = estimatedPickTime;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "refund_order_info_id", unique = true, nullable = false)
	public Integer getRefundOrderInfoId() {
		return this.refundOrderInfoId;
	}

	public void setRefundOrderInfoId(Integer refundOrderInfoId) {
		this.refundOrderInfoId = refundOrderInfoId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "order_information_id")
	public OrderInformation getOrderInformation() {
		return this.orderInformation;
	}

	public void setOrderInformation(OrderInformation orderInformation) {
		this.orderInformation = orderInformation;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "lockers_id", nullable = false)
	@NotNull
	public Lockers getLockers() {
		return this.lockers;
	}

	public void setLockers(Lockers lockers) {
		this.lockers = lockers;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "group_id", nullable = false)
	@NotNull
	public UserGroup getUserGroup() {
		return this.userGroup;
	}

	public void setUserGroup(UserGroup userGroup) {
		this.userGroup = userGroup;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "delivery_person_id")
	public DeliveryPerson getDeliveryPerson() {
		return this.deliveryPerson;
	}

	public void setDeliveryPerson(DeliveryPerson deliveryPerson) {
		this.deliveryPerson = deliveryPerson;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "delivery_time", nullable = false, length = 19)
	@NotNull
	public Date getDeliveryTime() {
		return this.deliveryTime;
	}

	public void setDeliveryTime(Date deliveryTime) {
		this.deliveryTime = deliveryTime;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "pick_time", length = 19)
	public Date getPickTime() {
		return this.pickTime;
	}

	public void setPickTime(Date pickTime) {
		this.pickTime = pickTime;
	}

	@Column(name = "transactions", nullable = false)
	public Integer getTransactions() {
		return this.transactions;
	}

	public void setTransactions(Integer transactions) {
		this.transactions = transactions;
	}

	@Column(name = "deleted")
	public boolean isDeleted() {
		return this.deleted;
	}

	public void setDeleted(boolean deleted) {
		this.deleted = deleted;
	}

	@Column(name = "order_info_number", nullable = false, length = 45)
	@NotNull
	@Length(max = 45)
	public String getOrderInfoNumber() {
		return this.orderInfoNumber;
	}

	public void setOrderInfoNumber(String orderInfoNumber) {
		this.orderInfoNumber = orderInfoNumber;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "estimated_pick_time", length = 19)
	public Date getEstimatedPickTime() {
		return this.estimatedPickTime;
	}

	public void setEstimatedPickTime(Date estimatedPickTime) {
		this.estimatedPickTime = estimatedPickTime;
	}

}
